Xbasic

LOOKUPL Function

Syntax

Value as L = LOOKUPL(C matchtype,A keyvalue,C result_expression,C tablename,C tagname)

Arguments

matchtype

A 1-character string that specifies which lookup table record should supply the value if more than one record matches the Key_Value. "F" = First "L" = Last "C" = Closest match. Closest match uses the first occurrence of the closest inexact match if an exact match does not exist, otherwise it uses the first occurrence of an exact match.

keyvalue

The value of a key to search for. The type of Key_Value must be the same as the type of the keys in the index specified by Index_Name. Any type

result_expression

The name of a field in the Lookup_Table or a valid expression which may contain one or more fields.

tablename

The fully qualified name of a table. If you omit the drive and path, Alpha Anywhere searches the directory of the current database.

tagname

The name of an index in the index lookup table that may contain the Key_Value.

Description

Returns the value of a logical expression in an external table.

Discussion

LOOKUPL() searches an external lookup table ( Lookup_Table ) for an indexed record matching the Key_Value, and returns the logical value in Lookup_Expression from the matching record. Alpha Anywhere performs an indexed search of the Lookup_Table using the Index_Name index. Note : If a record with a matching Key_Value is not found, Alpha Anywhere returns .F. (FALSE).

Example

Assume that the Customer and Invoice tables contain the following records:

CUSTOMER

CUST_ID

LAST_NAME

C001

Gorby

C002

Peabody

C003

Rebo

INVOICE

INV_NO

CUST_ID CREDIT

I001

C001 .F.

I002

C002 .T.

I003

C003 .F.

I004

C004 .T.

I005

C001 .T.

If the following expression defines a calculated field or global variable for the Customer table, Alpha Anywhere returns the logical value of the first invoice record that matches the current customer record:

? lookupl("F", CUST_ID, "CREDIT", "c:\databases\INVOICE.DBF", "CUSTOMER_ID")
= FALSE 'if the current customer record is C001

The Customer identification field ( CUST_ID ) exists in both tables. In the above expression, CUST_ID is the field from the Customer table field, and CUSTOMER_ID is the name of an index on the CUST_ID field from the INVOICE table. Note : You can use TABLE.FILENAME_GET()to get the fully qualified name of a table.

See Also